CRUD (Create, Read, Update, Delete) হলো ডাটাবেস পরিচালনার চারটি মৌলিক কাজ। CodeIgniter এর Model এবং Query Builder ক্লাস ব্যবহার করে সহজেই CRUD অপারেশন সম্পন্ন করা যায়।
ডাটাবেসে একটি টেবিল তৈরি করুন। উদাহরণস্বরূপ, products
নামে একটি টেবিল তৈরি করা হলো:
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
price DECIMAL(10, 2) NOT NULL
);
app/Models/ProductModel.php
ফাইলে একটি Model তৈরি করুন:
namespace App\Models;
use CodeIgniter\Model;
class ProductModel extends Model
{
protected $table = 'products';
protected $primaryKey = 'id';
protected $allowedFields = ['name', 'description', 'price'];
}
Controller থেকে ডেটা ইনসার্ট করতে Model এর save()
মেথড ব্যবহার করুন:
namespace App\Controllers;
use App\Models\ProductModel;
class ProductController extends BaseController
{
public function create()
{
$model = new ProductModel();
$data = [
'name' => 'Laptop',
'description' => 'High-performance laptop',
'price' => 1200.50
];
$model->save($data);
return "Data inserted successfully!";
}
}
ফর্ম ডেটা গ্রহণ করে ইনসার্ট করতে:
public function create()
{
$model = new ProductModel();
$data = [
'name' => $this->request->getPost('name'),
'description' => $this->request->getPost('description'),
'price' => $this->request->getPost('price')
];
$model->save($data);
return redirect()->to('/products');
}
Model এর findAll()
মেথড ব্যবহার করে সমস্ত ডেটা রিট্রিভ করুন:
public function index()
{
$model = new ProductModel();
$data['products'] = $model->findAll();
return view('product_list', $data);
}
find($id)
মেথড ব্যবহার করে নির্দিষ্ট একটি রেকর্ড রিট্রিভ করা যায়:
public function show($id)
{
$model = new ProductModel();
$data['product'] = $model->find($id);
return view('product_details', $data);
}
Model এর update()
মেথড ব্যবহার করে ডেটা আপডেট করুন:
public function update($id)
{
$model = new ProductModel();
$data = [
'name' => 'Updated Laptop',
'description' => 'Updated description',
'price' => 1300.00
];
$model->update($id, $data);
return "Data updated successfully!";
}
ফর্ম ডেটা গ্রহণ করে আপডেট করতে:
public function update($id)
{
$model = new ProductModel();
$data = [
'name' => $this->request->getPost('name'),
'description' => $this->request->getPost('description'),
'price' => $this->request->getPost('price')
];
$model->update($id, $data);
return redirect()->to('/products');
}
Model এর delete()
মেথড ব্যবহার করে ডেটা ডিলিট করুন:
public function delete($id)
{
$model = new ProductModel();
$model->delete($id);
return "Data deleted successfully!";
}
সমস্ত ডেটা ডিলিট করতে:
public function deleteAll()
{
$model = new ProductModel();
$model->truncate();
return "All data deleted!";
}
product_list.php
(ডেটা প্রদর্শন)<h1>Product List</h1>
<ul>
<?php foreach ($products as $product): ?>
<li>
<?= $product['name']; ?> - $<?= $product['price']; ?>
<a href="/product/edit/<?= $product['id']; ?>">Edit</a>
<a href="/product/delete/<?= $product['id']; ?>">Delete</a>
</li>
<?php endforeach; ?>
</ul>
product_form.php
(ডেটা ইনসার্ট/আপডেট)<form action="/product/save" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name" value="<?= old('name', $product['name'] ?? ''); ?>">
<label for="description">Description:</label>
<textarea id="description" name="description"><?= old('description', $product['description'] ?? ''); ?></textarea>
<label for="price">Price:</label>
<input type="text" id="price" name="price" value="<?= old('price', $product['price'] ?? ''); ?>">
<button type="submit">Save</button>
</form>
CodeIgniter এর CRUD অপারেশন ডাটাবেস পরিচালনা দ্রুত এবং কার্যকরী করে। উপরের পদ্ধতি অনুসরণ করে সহজেই আপনার অ্যাপ্লিকেশনে ডেটা ইনসার্ট, রিট্রিভ, আপডেট এবং ডিলিট করতে পারবেন।